/*
 * All rights Reserved, Designed By www.goldbeacon.cn
 * @Title:  demo-springboot
 * @Package com.chenzhengrong.demospringboot.manager
 * @author: chenzhengrong
 * @date:   2022/8/1713:34
 * @version V1.0
 * Copyright © 2022 www.goldbeacon.cn. All Rights Reserved.
 * 注意：本内容仅限于湖南金烽信息科技有限公司内部传阅，禁止外泄以及用于其他的商业目
 */
package com.chenzhengrong.demospringboot.manager;

import com.chenzhengrong.demospringboot.domain.dto.RegionDTO;
import com.chenzhengrong.demospringboot.domain.pojo.Region;
import com.chenzhengrong.demospringboot.domain.vo.RegionVO;

import java.util.List;


/**
 * @author zoujie
 * @title: RegionManager
 * @description: 省市区通用业务处理层
 * @date 2021/7/219:55
 */
public interface RegionManager {

    /**
     * @description: 读取树数据
     * @param list 树集合
     * @param parentCode 上级编号
     * @return java.util.List<cn.goldbeacon.demo.domain.dto.RegionDTO>
     * @author zoujie
     * @date 2021/7/21 14:27
     */
    List<RegionDTO> readTree(List<RegionVO> list, String parentCode);

    /**
     * @description: 批量插入数据
     * @param list
     * @return void
     * @author zoujie
     * @date 2021/7/21 14:44
     */
    void batchInsert(List<RegionDTO> list);

    /**
     * @description: 根据地区名称查询地区数据
     * @param name 地区名称
     * @return cn.goldbeacon.demo.domain.vo.RegionVO
     * @author zoujie
     * @date 2021/7/21 14:54
     */
    RegionVO query(String name) throws Exception;

    /**
     * @description: 根据省份名称查询该省份下所有城市数据
     * @param provinceName
     * @return java.util.List<cn.goldbeacon.demo.domain.vo.RegionVO>
     * @author zoujie
     * @date 2021/7/23 8:58
     */
    List<RegionVO> queryCityByProvince(String provinceName);
}
